package com.atguigu.gmall.model.order.vo;

import com.atguigu.gmall.model.user.entity.UserAddress;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

@Data
public class OrderConfirmVo {

    private List<Detail> detailArrayList; //商品清单

    private Integer totalNum; //商品总数量

    private BigDecimal totalAmount;//订单总金额

    private List<UserAddress> userAddressList; //用户地址列表


    //交易号：
    //1、对接第三方系统用的订单的唯一号； 订单id是内部系统用的
    //2、防重复提交； 短时间内的大量相同提交为重复提交，后台只处理一次请求
    //    解决办法：
    //    1）、前端解决； 简单解决【按钮点击一次以后不可再点击】，并不能根源解决问题；很多方式可以绕过前端
    //    2）、后端解决； 后端需要识别请求是否是重复请求，如果重复了就拒绝处理，只处理第一个
    private String tradeNo;



    @Data
    public static class Detail {
        private Long skuId;  //商品id
        private String imgUrl;
        private String skuName;
        private BigDecimal orderPrice;//订单价格，商品的实时价格; 保证实时性，就要现场查
        private Integer skuNum; //商品数量
        private Integer hasStock; //是否有货； 有货1；无货0；
    }
}